package com.yiji.fintech.musfinance.center.deposit.api;

import com.yiji.fintech.musfinance.center.deposit.order.facade.*;
import com.yiji.fintech.musfinance.center.deposit.result.*;

/**
 * 充值
 * Created by ouwen@yiji.com} on 2017/3/29.
 */
public interface OnlineFacade {
    /**
     * 支付宝App
     * @param aliAppOrder
     * @return
     */
    AliAppPayResult deopsitAliApp(AliAppPayFacadeOrder aliAppOrder);

    /**
     * 线下充值
     * @param offlineOrder
     * @return
     */
    OfflinePayResult depositOffline(OfflinePayFacadeOrder offlineOrder);
    /**
     * 表单
     * @param onlineOrder 充值 Order
     * @return
     */
    OnlineResult depositForm(OnlineFacadeOrder onlineOrder);

    /**
     * 扫码
     * @param scanCodeOrder
     * @return
     */
    ScanCodePayResult depositScanCode(ScanCodePayFacadeOrder scanCodeOrder);

    /**
     * 服务窗
     * @param serviceWindowOrder
     * @return
     */
    ServiceWindowPayResult depositServiceWindow(ServiceWindowPayFacadeOrder serviceWindowOrder);

    /**
     * 微信App
     * @param wxAppOrder
     * @return
     */
    WxAppPayResult depositWxApp(WxAppPayFacadeOrder wxAppOrder);

    /**
     * 微信公众号
     * @param wxPublicOrder
     * @return
     */
    WxPublicPayResult depositWxPublic(WxPublicPayFacadeOrder wxPublicOrder);
}
